// pages/login/index.js
import { loginRequest } from '../../api/main';

Page({
  // 页面的初始数据
  data: {
    stuId: '', // 学号
    password: '', // 密码
    saveCount: true, // 是否记住账号
  },

  // 生命周期函数--监听页面加载,当页面加载时调用
  onLoad(options) {
    this.initAccount()
  },
  // 初始化账号， 第二次登录进行填充
  initAccount(){
    // initAccount 方法用于从本地存储中读取之前缓存的账号信息
    // 使用 wx.getStorageSync() 方法获取名为 "account" 的存储项
    const accountCache = wx.getStorageSync('account')
    if(accountCache){
      this.setData({
        // 如果获取到存储项，将其解构后更新到页面的 data
        ...accountCache
      })
    }
  },

  // 登录方法
  login(){
    // 使用 that 是避免 this 指向的丢失，这是经典的 JavaScript 方法, that指向整个Page
    const that = this
    const postData = {
      stuId: that.data.stuId,
      password: that.data.password
    }
    wx.showLoading({
      title: "登录中..."
    })
    
    loginRequest(postData).then(res => {
      wx.hideLoading()
      // 异常
      if(res.code === -1){
        wx.showToast({
          title: res.msg,
          icon: 'none'
        })
        // location.href = `https://www.baidu.com/s?wd=${res.msg}`
        return
      }

      // 正常 
      wx.setStorageSync('token', res.data.cookie)
      if (that.data.saveCount) {  // 本地存储账号密码
        wx.setStorageSync('account', postData)
      } else {
        wx.removeStorageSync('account')
      }
      
      wx.showToast({
        title: '登录成功',
        icon: 'success'
      })
      setTimeout(() => {
        wx.redirectTo({
          url: '/pages/index/index',
        })
      },1000);
    })
  },

  // 记住状态
  switchStatus(){
    this.setData({
      saveCount: !this.data.saveCount
    })
  },

})